DSCoWRMK 스크립트
1. 주의사항
해당 스크립트 마킹 모듈은 알파 블렌드 방식의 마킹을 사용하고 있습니다. 알파 블렌딩 마킹의 경우 칼러 이미지 마킹까지 지원하고 선명한 마킹 화질을 지원할 수 있지만 구형 드라이버에서는 문제가 발생 할 수 있습니다. 따라서 필히 사용전에 해당 프린트 드라이버를 PCL 6드라이버로 업데이트 해 주시길 부탁 드립니다. 만약 구 버젼 드라이버에서 마킹을 진행 하길 원하는 경우 도트 방식의 마킹 방식을 지원하고 있으며 해당 프린트 드라이버 명을 입력하여 처리 하는 것이 가능합니다
2. 스크립트 예시
<Begin>
<case=MARKING_VERSION>
<VERSION="2">
</case>
<case=MARKING_SETTING>
<NORMAL_DOC="1">
<ENABLE="1">
<BMP_FILE_USE="0">
<DENSITY_CENTER="30">
<INTERCHARACTER="0">
<INTERLINE="100">
<SLOPE="300">
<TEXT_OPTION="이문서는일반문서입니다. ">
<DATE_FORMAT1="yyyy-MM-dd ">
<DATE_FORMAT2="yyyy, MM, dd ddd">
<DATE_FORMAT3="yyyy MM dd">
<TIME_FORMAT1="HH:mm">
<TIME_FORMAT2="hh mm ss">
<TIME_FORMAT3="hh mm ">
<WIDTH="1200">
<HEIGHT="1200">
<HP_PRINT_DENSITY="10">
<DOT_PRINTER="ALL">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="1">
<TYPE="1">
<LOCATION="1">
<ALIGN="0">
<FONT_SIZE="200">
<IMAGE_FILE_NAME="dscgrd.dll">
<MARGINX="0">
<MARGINY="0">
<RESERVED="0">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="1">
<LOCATION="0">
<ALIGN="1">
<FONT_SIZE="20">
<FONT_NAME="굴림">
<FONT_COLOR="0">
<FONT_WEIGHT="0">
<TEXT="일반/ $uID / $uName / $uOrg / $HostName">
<MARGINX="0">
<MARGINY="0">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="1">
<LOCATION="2">
<ALIGN="1">
<FONT_SIZE="20">
<FONT_NAME="굴림">
<FONT_COLOR="0">
<FONT_WEIGHT="0">
<TEXT="일반/ $pDate1 / $pTime1 / $oText">
<MARGINX="0">
<MARGINY="0">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="1">
<LOCATION="1">
<FONT_SIZE="150">
<FONT_NAME="HY견고딕">
<FONT_COLOR="0">
<FONT_WEIGHT="300">
<TEXT="일반문서">
<ALIGN="1">
</case>
<case=MARKING_SETTING>
<NORMAL_DOC="0">
<ENABLE="1">
<BMP_FILE_USE="0">
<DENSITY_CENTER="40">
<INTERCHARACTER="0">
<INTERLINE="100">
<SLOPE="300">
<TEXT_OPTION="이문서는보안문서입니다. ">
<DATE_FORMAT1="yyyy-MM-dd ">
<DATE_FORMAT2="yyyy, MM, dd ddd">
<DATE_FORMAT3="yyyy MM dd">
<TIME_FORMAT1="HH:mm">
<TIME_FORMAT2="hh mm ss">
<TIME_FORMAT3="hh mm ">
<WIDTH="600">
<HEIGHT="600">
<HP_PRINT_DENSITY="10">
<DOT_PRINTER="ALL">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="0">
<TYPE="1">
<LOCATION="1">
<ALIGN="0">
<FONT_SIZE="200">
<IMAGE_FILE_NAME="dscgru.dll">
<MARGINX="0">
<MARGINY="0">
<RESERVED="0">
</case>
<case=MARKING_DATA>
<LOCATION="0">
<ALIGN="1">
<FONT_SIZE="20">
<FONT_NAME="굴림">
<FONT_COLOR="0">
<FONT_WEIGHT="0">
<TEXT="보안/ $uID / $uName / $uOrg / $HostName">
<MARGINX="0">
<MARGINY="0">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="0">
<LOCATION="2">
<ALIGN="1">
<FONT_SIZE="20">
<FONT_NAME="굴림">
<FONT_COLOR="0">
<FONT_WEIGHT="0">
<TEXT="보안/ $pDate1 / $pTime1 / $oText">
<MARGINX="0">
<MARGINY="0">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="0">
<LOCATION="1">
<FONT_SIZE="150">
<FONT_NAME="HY견고딕">
<FONT_COLOR="0">
<FONT_WEIGHT="300">
<TEXT="보안문서">
<ALIGN="1">
</case>
<End>
3. 스크립트 세부 항목 설명
세부 정책 | 항목 설명 |
---|---|
<case=marking_version> | 마킹 스크립트 파일의 버전을 구분하기 위해 서 명시해주는 부분입니다. 해당 값은 항상 <Begin> 이후 최우선으로 명시해줘야 이후 정책들이 제대로 인식됩니다.해당 항목이 없을 경우 예전 스크립트 방식(VERSION=“1”)으로 자동으로 인식합니다 |
<version="2"> | 마킹 스크립트 버전 입니다.<VERSION="1"> 일반/보안 문서에 구분없이 동일한 마킹 정책을 수행하도록 하는 예전 마킹 스크립트 버전을 나타냅니다.<VERSION="2"> 일반/보안 문서에 따라서 서로 다른 마킹 정책을 수행하도록 하는 작성된 새로운 마킹 스크립트 버전을 나타냅니다. |
<case=marking_setting> | 마킹에 대한 기본적인 환경 설정을 하는 부분입니다. 해당 블록 안에 각 타입을 지정함으로 세부적인 설정이 가능합니다. 해당 값을 넣을때는 꼭 “ “안에 입력해 주세요 |
<NORMAL_DOC="1"> | 일반 문서용 마킹 정책을 의미합니다. 해당 값을 정의하지 않을 경우 자동으로 보안 문서용 마킹 정책(0)으로 인식합니다. |
<ENABLE="1"> | 마킹의 사용 여부 입니다.<ENABLE="0"> 스크립트 마킹을 사용하지 않습니다. 콘솔 정책의 마킹을 사용합니다.<ENABLE="1"> 스크립트 마킹을 사용합니다. |
<CENTER_DRAW_TYPE="0"> | 중앙 텍스트 마킹의 적용 타입입니다.<CENTER_DRAW_TYPE="0"> : 내부적으로 비트맵을 생성하여 출력합니다.<CENTER_DRAW_TYPE="1"> : 비트맵 파일을 SDS폴더에서 읽어 들여 사용합니다. (cntbg.dll 이용 ) |
<DENSITY_CENTER="30"> | 중앙 마킹의 농도를 결정합니다. 숫자는 0~99까지 사용 가능하며 숫자가 커질수록 마킹 농도가 진해 집니다. |
<INTERCHARACTER="-3"> | 자간 간격을 결정합니다. 숫자가 클수록 자간의 간격이 넓어 집니다. |
<SLOPE="300"> | 중앙 텍스트의 회전각입니다. 숫자1당 0.1도씩 시계반대방향으로 회전합니다. ex) 450의 경우 45도 회전하여 사선으로 출력 |
<TEXT_OPTION="이 문서는 보안 문서 입니다. "> | 옵션 텍스트의 내용을 지정할 수 있습니다. 해당 문자열을 실제 마킹 텍스트에서 $oText 변수를 사용하면 해당 텍스트로 치환이 되게 됩니다. |
<DATE_FORMAT1="yyyy-MM-dd"> | 날짜 출력에 대한 환경변수를 지정합니다.<DATE_FORMAT1=" …"> 은 $pDate1 <DATE_FORMAT2=" … "> 은 $pDate2 으로 출력이 가능합니다. 내용 부분에는 출력 포맷을 써주면 되며 포맷은 다음과 같습니다. yyyy : 년도를 4자리 숫자로 출력합니다. yy - 년도를 무조건 2자리 숫자로 출력합니다.(0을 포함함) ex) 98 ,99 , 00 , 01 .. y - 년도를 2자리 숫자로 출력합니다. (0을 포함하지 않음) ex) 98, 99, 0 , 1 , 2 MMMM – 월을 영어로 출력합니다. Ex) December MMM - 월을 영어로 약자만 표기합니다. Ex) Jan MM – 월을 숫자로 0을 포함하여 표기합니다. M - 월을 숫자로 표기합니다. dddd - 요일을 영어로 풀네임 표기합니다. Ex) Monday ddd - 요일을 영어로 약자만 표기합니다. Ex) Mon dd - 날짜를 숫자로 0을 포함하여 표기합니다. d - 날짜를 숫자로 표기합니다. 출력 예제) “yyyy-MM-dd” -> 2008-12-04 “yy-M-d” -> 08-12-4 |
<TIME_FORMAT1="HH:MM" > | 시간 출력에 대한 환경변수를 지정합니다.<TIME_FORMAT1=" …"> 은 $pDate1 <TIME_FORMAT2="..." 은 $pDate2 로 출력이 가능합니다.내용 부분에는 날짜와 동일하게 포멧을 써주면 됩니다. - 포멧 형식 h : 12시간제 시간 H : 24시간제 시간 m : 분 s : 초 t : am / pm (오전 오후 표기) 2자로 입력하면 앞자리에 2자리 고정으로 0을 포함하여 입력 가능합니다. ex) "h시 m분 s초" -> "9시 4분 2초" "hh시 mm분 ss초" -> "09시 04분 02초" |
<WIDTH="600">,<HEIGHT="600"> | 중앙 텍스트 마킹을 할 경우 내부적으로 생성할 비트맵 이미지 크기 입니다. 해당 옵션은 <CENTER_DRAW_TYPE="0"> 옵션으로 내부적으로 비트맵을 생성할 경우에만 적용이 가능하며숫자가 클수록 보다 깨끗한 텍스트로 출력이 가능합니다.(단 그만큼 리소스를 더 먹게 됩니다.) 0을 사용 할 경우 해당 프린터의 영역으로 자동 설정이 되어 가장 선명한 텍스트 마킹이 가능해 집니다. (프린터가 6000x4000 영역을 사용할 경우 6000x4000으로 적용 됨) WIDTH는 가로 크기, HEIGHT는 세로 크기 입니다. |
<HP_PRINT_DENSITY="10"> | HP프린터의 경우 마킹 농도가 연하기 때문에 농도 보정을 할 경우 가 존재 합니다. 해당 수치를 입력하여 HP LaserJet 프린터 군의 농도를 조절할 수 있습니다 |
<DOT_PRINTER=“ALL”> | 알파 블랜딩 방식으로 인쇄 시 장애가 발생하는 특정 프린터의 경우 도트 방식으로 인쇄하도록 예외 처리하거나 모든 프린터에 대해 도트 방식으로 인쇄할 수 있게 설정할 수 있다. 특정 프린터의 예외 처리를 원할 경우 윈도우가 인식하고 있는 프린터 명을 명시해주고 프린터구분 없이 도트 방식으로 인쇄하기를 원할 경우 프린터 명을“ALL”로 해주면 된다. |
<case=MARKING_DATA> | 실제 마킹 데이터를 하나의 입력하기 위한 구문 입니다. MARKING_DATA뒤에는 임의의 숫자를 입력하여도 무관합니다. Ex) <case=MARKING_DATA1> , <case=MARKING_DATA2> , <case=MARKING_DATA3> 등도 가능함.각 필드의 내용은 다음과 같습니다. |
⌊<NORMAL_DOC="1"> | 일반 문서용 마킹 정책을 의미합니다. 해당 값을 정의하지 않을 경우 자동으로 보안 문서용 마킹 정책(0)으로 인식합니다 |
⌊<TYPE="1"> | 마킹 타입을 지정합니다. 0은 텍스트 마킹 1은 이미지 마킹입니다. 입력하지 않을 경우 텍스트 마킹으로 지정됩니다. |
⌊<LOCATION="-1"> | 마킹 상 하단 위치를 지정합니다. 0은 상단, 1은 중단, 2는 하단을 사용합니다. 텍스트 마킹의 경우 상단 텍스트 마킹 , 하단 텍스트 마킹 , 중앙 텍스트 마킹의 설정 값이며 이미지 마킹의 경우 이미지의 기본 출력 위치를 상단, 중단, 하단 지정합니다. |
⌊<FONT_SIZE="12"> | 마킹 크기를 지정합니다. 텍스트 마킹의 경우 폰트의 크기를 지정 가능하며 이미지 마킹의 경우 이미지의 배율을 지정 가능합니다. |
⌊<FONT_NAME="굴림"> | 폰트 명을 지정합니다. 지정된 이름의 폰트로 설정됩니다. 이미지 마킹에서는 아무런 영향이 없습니다. |
⌊<FONT_COLOR="10"> | 폰트 색을 지정합니다. 폰트의 기본색을 지정하며 0은 검은색 255는 힌색입니다. 마킹 이미지의 경우 여기에 농도를 지정하면 별개의 농도로 출력이 가능합니다(0~100). |
⌊<FONT_WEIGHT="300"> | 폰트의 두께를 지정합니다. 400이 일반 폰트의 굵기가 되며 100단위로 조절합니다. ( 100~900 ) 100(가늘게) 400(보통) 600(약간 굵게) 700(굵게) |
⌊<ALIGN="0"> | 마킹의 좌우 위치를 지정합니다. 0: 좌측 1:중앙 2:우측 입니다. 텍스트 마킹 및 이미지 마킹 모두 적용됩니다. |
⌊<text="$ofile"> | 텍스트 마킹의 실제 출력할 텍스트를 지정합니다. 이미지 마킹의 경우 사용하시면 안됩니다. 환경 변수를 사용하면 지정한 내용을 출력하는 것이 가능합니다. (환경변수) $uID : 사용자 ID를 출력 |
⌊<MARGINX="0">, <MARGINY="0"> | 출력 위치에 대한 보정 위치인 마진 값을 지정합니다. X는 좌우 Y는 상하를 이용하여 해당 출력위치에서 추가적이 보정 위치 값을 지정하는 것이 가능합니다 |
⌊<IMAGE_FILE_NAME="dscgru.dll"> | 이미지 마킹의 경우 이미지 출력의 파일 명을 지정합니다. 이미지 파일명을 BMP포멧으로 저장이 되어 있어야 하며 확장자는 관계 없습니다. 이미지 파일은 windows\Softcamp\SDS 폴더 내부에 존재해야 합니다. |
<case=MARKING_TYPE_BY_PRINT_DRIVER> | 알파 블렌딩 방식의 마킹의 경우 지원하지 않는 드라이버가 존재 합니다. 지원하지 않는 드라이버를 사용하여 해당 알파블렌딩 마킹을 수행 할 경우 다음과 같은 증상이 있습니다. - 중앙 이미지 마킹이 원본 문서를 덮는다. - 중앙 이미지 마킹이 나오지 않는다. - 문서가 출력이 되지 않는다. 따라서 다음과 같은 문제가 발생할 수 있는 드라이버에 관련하여 도트방식의 마킹으로 변환 하는 것이 가능합니다. 사용 예) FinePrint 5 라는 드라이버에 관련 하여 도트방식으로 처리하기 <case=MARKING_TYPE_BY_PRINT_DRIVER> |
4. 실제 마킹 적용해보기
4-1. MARKSETING 내용 추가하기
<case=MARKING_SETTING>
<NORMAL_DOC=“0”>
<ENABLE="1">
<BMP_FILE_USE="0">
<DENSITY_CENTER="1">
<INTERCHARACTER="0">
<INTERLINE="100">
<SLOPE="300">
<TEXT_OPTION=" ‘쉽게 말해요’ 실천!! 고객중심 경영의 시작입니다">
<DATE_FORMAT1="yyyy-MM-dd ">
<DATE_FORMAT2="yyyy, MM, dd ddd">
<DATE_FORMAT3="yyyy MM dd">
<TIME_FORMAT1="HH:mm">
<TIME_FORMAT2="hh mm ss">
<TIME_FORMAT3="hh mm ">
<WIDTH="600">
<HEIGHT="600">
</case>
상세설명을 참고하여 해당 설정을 적절하게 수정
4-2. 상단, 하단에 텍스트 마킹 추가
<case=MARKING_DATA>
<NORMAL_DOC=“0”>
<LOCATION="0">
<ALIGN="1">
<FONT_SIZE="20">
<FONT_NAME="굴림">
<FONT_COLOR="0">
<FONT_WEIGHT="0">
<TEXT="$uID /$uName / $uOrg /$pDate1 $pTime1/$oText $HostName">
<MARGINX="0">
<MARGINY="0">
</case>
<LOCATION=“0”>
을 설정함으로 상단 텍스트 마킹을 사용하게 정의하였습니다.
<LOCATION=“2”>
를 설정하게 되면 하단 텍스트 마킹을 사용하게 될 것 입니다.
<ALIGN=“1”>
을 설정함으로 중앙 정렬을 사용하고 있습니다.
출력되는 텍스트는 환경변수의 내용을 파싱하여 사용자 정보를 표시하고 있습니다.
위치 보정은 현재 0을 입력함으로 사용되고 있지 않습니다.
4-3. 중앙 텍스트 마킹 추가하기
<case=MARKING_DATA>
<NORMAL_DOC=“0”>
<LOCATION="1">
<FONT_SIZE="23">
<FONT_NAME="HY견고딕">
<FONT_COLOR="0">
<FONT_WEIGHT="300">
<TEXT="소프트 캠프 [$uName]">
<ALIGN="1">
</case>
<case=MARKING_DATA>
<NORMAL_DOC=“0”>
<LOCATION="1">
<FONT_SIZE="23">
<FONT_NAME="HY견고딕">
<FONT_COLOR="0">
<FONT_WEIGHT="300">
<TEXT="해당 문서는 보안 문서입니다.">
<ALIGN="1">
</case>
중앙 텍스트
마킹을 사용하기 위해서는 <LOCATION=“1”>
을 지정해 주어야 합니다.
중앙 마킹은 상하단 마킹과 동일하며 여러 개의 중앙 마킹 정보를 입력하는 것이 가능합니다. 여러
개의 마킹 정보를 입력 할 경우 <MARGINX="0">
<MARGINY="0">
내용을 수정하여 적절하게 위치 조정을 해 주시면 됩니다.
중앙 텍스트를 회전하기 위해서는 마킹 설정의 <SLOPE="300">
을 사용하면 됩니다.
4-4. 마킹 이미지 추가하기
<case=MARKING_DATA>
<NORMAL_DOC=“0”>
<TYPE="1">
<LOCATION="1">
<ALIGN="0">
<FONT_SIZE="200">
<IMAGE_FILE_NAME="dscgru.dll">
<MARGINX="0">
<MARGINY="0">
<RESERVED="0">
</case>
마킹 이미지를
추가하기 위해서는 <TYPE=“1”>
을 설정 해야 합니다.
설정할 경우 <IMAGE_FILE_NAME="dscgru.dll">
항목에
이미지 파일 명을 입력함으로써 이미지 마킹이 가능하게 됩니다. <FONT_SIZE="200">
항목을 수정하게 되면 이미지의 배율을 조정하는 것이 가 능합니다. <FONT_COLOR="200">
항목을 수정하게 되면 <DENSITY_CENTER="30">
의
농도 값이 아닌 별개의 농도로 재 설정 가능합니다.